//
//  RBTextField.h
//  RBDemoProj
//
//  Created by Lan on 2019/1/3.
//  Copyright © 2019年 SummerTea. All rights reserved.
//

#import <UIKit/UIKit.h>

typedef NS_ENUM(NSUInteger, RBTextFieldType)
{
    RBTextFieldTypeNone = 0,/**<默认没有类型*/
    RBTextFieldTypePhone = 1,/**<手机号*/
    RBTextFieldTypePassword = 2,/**<密码*/
    RBTextFieldTypePasswordSecurity = 3,/**<密码密文输入*/
    RBTextFieldTypeIdCard = 4,/**<身份证号*/
    RBTextFieldTypeEmail = 5,/**<邮箱(非中文)*/
    RBTextFieldTypeChinese = 6,/**<中文*/
    RBTextFieldTypeNumber = 7,/**<数字*/
    RBTextFieldTypeChar = 8,/**<字母*/
    RBTextFieldTypeNumberChar = 9,/**<数字和字母*/
    RBTextFieldTypePrice = 10,/**<价格输入*/
    RBTextFieldTypeInt = 11,/**<整数输入*/
};

//IB_DESIGNABLE
@interface RBTextField : UITextField

/** 键盘类型 */
#if TARGET_INTERFACE_BUILDER
@property (nonatomic, assign) IBInspectable NSInteger type;
#else
@property (nonatomic, assign) RBTextFieldType type;
#endif
/** 验证是否符合符合格式 */
@property(nonatomic, assign) BOOL validate;
/** 自定义正则,覆盖type默认的正则 */
@property(nonatomic, copy) NSString *validateExpression;
/** 验证时,是否trim,默认YES */
@property(nonatomic, assign) BOOL trimOnValidation;

/** 文字最大长度 */
@property(nonatomic, assign) NSInteger maxTextLength;

@property(nonatomic, assign)NSInteger minInt;
@property(nonatomic, assign)NSInteger maxInt;

/** 监测文字改变 */
@property(nonatomic, copy) void(^textChangeBlock)(NSString *text);

@end
